﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using NakedObjects;
using System.ComponentModel;
using FUFDomain.Warning;

namespace RTC.Modelo.Entidades
{
    public class ComentarioSolicitud : Comentario
    {
        [Hidden]
        public virtual Solicitud Solicitud { get; set; }

        [DisplayName("Eliminar Comentario")]
        public virtual Warning Eliminar() {
            WarningEliminarComentarioSolicitud resultado 
                = new WarningEliminarComentarioSolicitud();
            resultado.Message = "Esta seguro q desea eliminar este comentario?";
            resultado.Comentario = this;
            resultado.AcctionAccept = this.Solicitud;
            resultado.AcctionCancel = this;
            return resultado;
        }
    }

    [NotPersisted]
    public class WarningEliminarComentarioSolicitud : Warning {

        public IDomainObjectContainer Container { set; protected get; }

        [Hidden]
        public virtual ComentarioSolicitud Comentario { set; get; }
        
        public override void AcceptAcction()
        {
            Container.DisposeInstance(Comentario);
        }

        public override void CancelAcction()
        {
            //NO HACEMOS NADA
        }
    }
}
